Ứng dụng Cây_hậu_tố

Cây hậu tố được sử dụng rộng rãi để giải quyết các bài toán về xâu ký tự trong soạn thảo văn bản, tìm kiếm văn bản, tin sinh học, và nhiều lĩnh vực ứng dụng khác.[8] Các ứng dụng chính bao gồm:[8]

  • Tìm kiếm xâu ký tự, trong thời gian O(m), trong đó m là độ dài mẫu cần tìm (với thời gian O(n) để xây dựng cây hậu tố trước khi tìm)
  • Tìm kiếm xâu con lặp lại dài nhất
  • Tìm kiếm xâu con chung dài nhất
  • Tìm xâu con đối xứng dài nhất

Cây hậu tố thường được sử dụng trong các ứng dụng tin sinh học, tìm kiếm mẫu trong dãy DNA hoặc protein (có thể được xem là các xâu ký tự dài). Khả năng tìm kiếm cho phép có lỗi sai là một điểm mạnh của cấu trúc dữ liệu này. Cây hậu tố cũng được sử dụng trong nén dữ liệu; có thể dùng nó để tìm dữ liệu lặp lại cũng như trong giai đoạn sắp xếp của biến đổi Burrows–Wheeler. Một biến thể của thuật toán nén LZW sử dụng cây hậu tố (LZSS). Cây hậu tố được sử dụng trong phân nhóm cây hậu tố, một thuật toán phân nhóm dữ liệu dùng cho công cụ tìm kiếm (đưa ra đầu tiên bởi [9]).

Tài liệu tham khảo

WikiPedia: Cây_hậu_tố http://webhome.cs.uvic.ca/~mgbarsky/DIGEST_SEARCH http://code.google.com/p/patl/ http://www.zbh.uni-hamburg.de/staff/kurtz/papers/G... http://hkn.eecs.berkeley.edu/~dyoo/python/suffix_t... http://www.cs.rutgers.edu/~farach/pubs/Suffix.pdf http://www.cs.ucdavis.edu/~gusfield/strmat.html http://www.cise.ufl.edu/~sahni/dsaaj/enrich/c16/su... http://www.cs.helsinki.fi/group/suds/ http://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFi... http://www.nist.gov/dads/HTML/suffixtree.html